Synchronous Dynamic RAMs (SDRAMs) have become a popular type of dynamic memory due to their speed of operation and ease of use. SDRAMs are used in motherboards, embedded products such as RAID controllers, routers, Ethernet controllers and other systems that employ memory. Some of these products, such as RAID controllers, cannot afford to lose memory data upon power failure. In these products memory is backed-up by battery during power failures so the stored data can be continually refreshed, allowing the stored data to be available when power is restored.
In one type of battery backup system only the memory is backed-up during power failures. As a result, the required battery is small and can be positioned near the memory in products with space constraints.
There are three possible prior art methods by which SDRAM can be backed up by battery. In the first method a power-down event is detected early (i.e., before the SDRAM has lost its stored data) and system software configures auto-refresh circuitry to set the SDRAM in an auto-refresh mode in which auto-refresh cycles are given periodically as long as system power is off and power to the memory is provided by battery.
In the second method a power-down event is detected early and system hardware configures auto-refresh circuitry to set the SDRAM in an auto-refresh mode in which auto-refresh cycles are given periodically as long as system power is off and power to the memory is provided by battery.
In the third method a power-down event is detected early and system software configures SDRAM self-refresh circuitry to set the SDRAM in a self-refresh mode in which a self refresh command is given anytime system power falls below a threshold level. The self-refresh command is supported by most SDRAMs with proprietary circuitry.
A disadvantage of the first and second methods is that the battery has to drive the control signals to the SDRAM for auto-refreshing, which discharges the battery faster and hence reduces battery life.
The third method, which uses the SDRAM self refresh mode, requires the system software to issue only a single self-refresh command to the SDRAM before the power goes down. As a result, no SDRAM control signals need to be driven by the battery during the power outage, which preserves battery life. A disadvantage of this method is that the software has to stop all activities and place the SDRAM in self-refresh mode before the power falls below the threshold voltage. However, the software may be executing uninterruptable tasks, in which case it might be difficult for the software to place the SDRAM in self-refresh mode in the available time.